dataCleaning

── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
✔ dplyr     1.1.4     ✔ readr     2.1.5
✔ forcats   1.0.0     ✔ stringr   1.5.2
✔ ggplot2   4.0.0     ✔ tibble    3.3.0
✔ lubridate 1.9.4     ✔ tidyr     1.3.1
✔ purrr     1.1.0     
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag()    masks stats::lag()
ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
── ESPN WNBA Teams Information from ESPN.com ─────────────────── wehoop 2.1.0 ──
ℹ Data updated: 2025-12-04 11:56:13 PST
# A tibble: 13 × 10
   team_id team         mascot    display_name     short_name abbreviation color
     <int> <chr>        <chr>     <chr>            <chr>      <chr>        <chr>
 1      20 Atlanta      Dream     Atlanta Dream    Dream      ATL          e318…
 2      19 Chicago      Sky       Chicago Sky      Sky        CHI          5091…
 3      18 Connecticut  Sun       Connecticut Sun  Sun        CON          f050…
 4       3 Dallas       Wings     Dallas Wings     Wings      DAL          002b…
 5  129689 Golden State Valkyries Golden State Va… Valkyries  GS           b38f…
 6       5 Indiana      Fever     Indiana Fever    Fever      IND          002d…
 7      17 Las Vegas    Aces      Las Vegas Aces   Aces       LV           a7a8…
 8       6 Los Angeles  Sparks    Los Angeles Spa… Sparks     LA           5525…
 9       8 Minnesota    Lynx      Minnesota Lynx   Lynx       MIN          2660…
10       9 New York     Liberty   New York Liberty Liberty    NY           86ce…
11      11 Phoenix      Mercury   Phoenix Mercury  Mercury    PHX          3c28…
12      14 Seattle      Storm     Seattle Storm    Storm      SEA          2c52…
13      16 Washington   Mystics   Washington Myst… Mystics    WSH          e03a…
# ℹ 3 more variables: alternate_color <chr>, logo <chr>, logo_dark <chr>
──────────────────────────────────────────────────────────────── wehoop 2.1.0 ──
# A tibble: 6 × 64
           id sequence_number type_id type_text      text  away_score home_score
        <dbl> <chr>             <int> <chr>          <chr>      <int>      <int>
1  4014556844 4                   615 Jumpball       Kiah…          0          0
2  4014556847 7                   110 Driving Layup… Kels…          0          0
3  4014556848 8                   155 Defensive Reb… DeWa…          0          0
4 40145568410 10                  122 Jump Shot Bank DeWa…          0          2
5 40145568411 11                   86 Out of Bounds… Kels…          0          2
6 40145568412 12                  142 Cutting Finge… Alys…          0          4
# ℹ 57 more variables: period_number <int>, period_display_value <chr>,
#   clock_display_value <chr>, scoring_play <lgl>, score_value <int>,
#   team_id <int>, athlete_id_1 <int>, athlete_id_2 <int>, athlete_id_3 <int>,
#   wallclock <chr>, shooting_play <lgl>, coordinate_x_raw <dbl>,
#   coordinate_y_raw <dbl>, season <int>, season_type <int>,
#   away_team_id <int>, away_team_name <chr>, away_team_mascot <chr>,
#   away_team_abbrev <chr>, away_team_name_alt <chr>, home_team_id <int>, …
  [1] "Jumpball"                            
  [2] "Driving Layup Shot"                  
  [3] "Defensive Rebound"                   
  [4] "Jump Shot Bank"                      
  [5] "Out of Bounds - Step Turnover"       
  [6] "Cutting Finger Roll Layup Shot"      
  [7] "Jump Shot"                           
  [8] "Driving Floating Jump Shot"          
  [9] "Offensive Rebound"                   
 [10] "Out of Bounds - Bad Pass Turnover"   
 [11] "Fade Away Jump Shot"                 
 [12] "Shooting Foul"                       
 [13] "Free Throw - 1 of 2"                 
 [14] "Free Throw - 2 of 2"                 
 [15] "Lost Ball Turnover"                  
 [16] "Loose Ball Foul"                     
 [17] "Substitution"                        
 [18] "Pullup Jump Shot"                    
 [19] "Full Timeout"                        
 [20] "Turnaround Jump Shot"                
 [21] "Personal Foul"                       
 [22] "Offensive Charge"                    
 [23] "Offensive Foul Turnover"             
 [24] "Traveling"                           
 [25] "Bad Pass\nTurnover"                  
 [26] "Running Layup Shot"                  
 [27] "Cutting Layup Shot"                  
 [28] "Offensive Foul"                      
 [29] "Driving Jump Shot Bank"              
 [30] "Pullup Bank Jump Shot"               
 [31] "Turnaround Fade Away Jump Shot"      
 [32] "End Period"                          
 [33] "Floating Jump Shot"                  
 [34] "Double Technical Foul"               
 [35] "Layup Shot"                          
 [36] "Official Timeout"                    
 [37] "Step Back Jump Shot"                 
 [38] "Free Throw - 1 of 1"                 
 [39] "Driving Finger Roll Layup"           
 [40] "Layup Shot Putback"                  
 [41] "Personal Take Foul"                  
 [42] "Reverse Layup Shot"                  
 [43] "Shot Clock Turnover"                 
 [44] "Running Pullup Jump Shot"            
 [45] "Delay of Game"                       
 [46] "Flagrant Foul Type 1"                
 [47] "Free Throw - Flagrant 1 of 3"        
 [48] "Free Throw - Flagrant 2 of 3"        
 [49] "Free Throw - Flagrant 3 of 3"        
 [50] "Short Timeout"                       
 [51] "End Game"                            
 [52] "Running Jump Shot"                   
 [53] "Out of Bounds - Lost Ball Turnover"  
 [54] "Driving Hook Shot"                   
 [55] "Turnaround Bank Jump Shot"           
 [56] "Alley Oop Layup Shot"                
 [57] "Jump Ball"                           
 [58] "Clear Path Foul"                     
 [59] "Free Throw - Clear Path 1 of 2"      
 [60] "Free Throw - Clear Path 2 of 2"      
 [61] "Finger Roll Layup"                   
 [62] "Turnaround Hook Shot"                
 [63] "Turnaround Fadeaway Bank Jump Shot"  
 [64] "Hook Shot"                           
 [65] "Free Throw - Flagrant 1 of 1"        
 [66] "Hook Driving Bank"                   
 [67] "Layup Driving Reverse"               
 [68] "Kicked Ball"                         
 [69] "Tip Shot"                            
 [70] "3-Second Turnover"                   
 [71] "Running Finger Roll Layup"           
 [72] "Technical Foul"                      
 [73] "Free Throw - Technical"              
 [74] "Layup Running Reverse"               
 [75] "Driving Floating Bank Jump Shot"     
 [76] "Jumpball Violation Turnover"         
 [77] "Kicked Ball Turnover"                
 [78] "Hook Shot Bank"                      
 [79] "Free Throw - 1 of 3"                 
 [80] "Free Throw - 2 of 3"                 
 [81] "Free Throw - 3 of 3"                 
 [82] "Double Dribble Turnover"             
 [83] "Away from Play Foul"                 
 [84] "Not Available"                       
 [85] "Back Court Turnover"                 
 [86] "Defensive 3-Seconds Technical"       
 [87] "Fade Away Bank Jump Shot"            
 [88] "Inbound Turnover"                    
 [89] "Hook Turnaround Bank"                
 [90] "Free Throw - Flagrant 1 of 2"        
 [91] "Free Throw - Flagrant 2 of 2"        
 [92] "No Turnover"                         
 [93] "8-Second Turnover"                   
 [94] "Disc Dribble Turnover"               
 [95] "Palming Turnover"                    
 [96] "Running Alley Oop Layup Shot"        
 [97] "Lane Violation Turnover"             
 [98] "Lane"                                
 [99] "Step Back Bank Jump Shot"            
[100] "ejection"                            
[101] "5-Second Turnover"                   
[102] "Flopping Technical"                  
[103] "Excess Timeout Technical"            
[104] "Excess Timeout Turnover"             
[105] "Driving Dunk Shot"                   
[106] "Delay Technical"                     
[107] "No Shot (Default Shot)"              
[108] "Double Lane"                         
[109] "Running Dunk Shot"                   
[110] "Double Personal Foul"                
[111] "5-Second Back to the Basket Turnover"
[112] "Flagrant Foul Type 2"                
[113] "Too Many Players Technical"          
[114] "Alley Oop Dunk Shot"                 
[115] "Ref-Initiated Review (Stands)"       
[116] "Ref-Initiated Review (Supported)"    
[117] "Coach's Challenge (Supported)"       
[118] "Transition Take Foul"                
[119] "Coach's Challenge (Overturned)"      
[120] "No Foul"                             
[121] "Ref-Initiated Review (Overturned)"   
[122] "Coach's Challenge (Stands)"          
[123] "Challenge"                           
[124] "Offensive Goaltending Turnover"      
[125] "Dunk Shot"                           
[126] "Coach's Challenge (replaycenter)"    
[127] "No Timeout"                          
[128] "Defensive Goaltending"               
──────────────────────────────────────────────────────────────── wehoop 2.1.0 ──
# A tibble: 6 × 64
           id sequence_number type_id type_text      text  away_score home_score
        <dbl> <chr>             <int> <chr>          <chr>      <int>      <int>
1  4013918607 7                   141 Cutting Layup… Sylv…          0          0
2  4013918609 9                   130 Floating Jump… Nati…          0          2
3 40139186010 10                  132 Step Back Jum… Kayl…          2          2
4 40139186011 11                   92 Jump Shot      Cour…          2          2
5 40139186013 13                   92 Jump Shot      Aeri…          5          2
6 40139186019 19                  120 Turnaround Ho… Sylv…          5          4
# ℹ 57 more variables: period_number <int>, period_display_value <chr>,
#   clock_display_value <chr>, scoring_play <lgl>, score_value <int>,
#   team_id <int>, athlete_id_1 <int>, athlete_id_2 <int>, athlete_id_3 <int>,
#   wallclock <chr>, shooting_play <lgl>, coordinate_x_raw <dbl>,
#   coordinate_y_raw <dbl>, season <int>, season_type <int>,
#   away_team_id <int>, away_team_name <chr>, away_team_mascot <chr>,
#   away_team_abbrev <chr>, away_team_name_alt <chr>, home_team_id <int>, …
──────────────────────────────────────────────────────────────── wehoop 2.1.0 ──
# A tibble: 7 × 64
            id sequence_number type_id type_text     text  away_score home_score
         <dbl> <chr>             <int> <chr>         <chr>      <int>      <int>
1 401391820392 392                  95 Layup Shot    Teai…         65         48
2 401391751179 179                 110 Driving Layu… Tiff…         22         38
3 401620360408 408                  95 Layup Shot    Aali…         71         63
4  40162027264 64                  131 Pullup Jump … Alli…          7         10
5 401620270371 371                 128 Driving Fing… Dear…         56         34
6 401620241422 422                 132 Step Back Ju… Came…         53         56
7 401620232246 246                 112 Reverse Layu… DiJo…         41         36
# ℹ 57 more variables: period_number <int>, period_display_value <chr>,
#   clock_display_value <chr>, scoring_play <lgl>, score_value <int>,
#   team_id <int>, athlete_id_1 <int>, athlete_id_2 <int>, athlete_id_3 <int>,
#   wallclock <chr>, shooting_play <lgl>, coordinate_x_raw <dbl>,
#   coordinate_y_raw <dbl>, season <int>, season_type <int>,
#   away_team_id <int>, away_team_name <chr>, away_team_mascot <chr>,
#   away_team_abbrev <chr>, away_team_name_alt <chr>, home_team_id <int>, …
──────────────────────────────────────────────────────────────── wehoop 2.1.0 ──
# A tibble: 6 × 57
    game_id season season_type game_date  game_date_time      athlete_id
      <int>  <int>       <int> <date>     <dttm>                   <int>
1 401391865   2022           2 2022-08-14 2022-08-14 19:00:00    2529622
2 401391865   2022           2 2022-08-14 2022-08-14 19:00:00    3913903
3 401391865   2022           2 2022-08-14 2022-08-14 19:00:00    3058901
4 401391865   2022           2 2022-08-14 2022-08-14 19:00:00    3904576
5 401391865   2022           2 2022-08-14 2022-08-14 19:00:00    4398935
6 401391865   2022           2 2022-08-14 2022-08-14 19:00:00    4398988
# ℹ 51 more variables: athlete_display_name <chr>, team_id <int>,
#   team_name <chr>, team_location <chr>, team_short_display_name <chr>,
#   minutes <dbl>, field_goals_made <int>, field_goals_attempted <int>,
#   three_point_field_goals_made <int>,
#   three_point_field_goals_attempted <int>, free_throws_made <int>,
#   free_throws_attempted <int>, offensive_rebounds <int>,
#   defensive_rebounds <int>, rebounds <int>, assists <int>, steals <int>, …
Joining with `by = join_by(athlete_display_name)`

Warning: Removed 2 rows containing non-finite outside the scale range
(`stat_density()`).

[1] 235

235 unique athletes took shots in these 3 seasons.

# A tibble: 3 × 8
  season avg_points avg_playtime avg_ppm sd_points sd_playtime avg_fg_att
   <int>      <dbl>        <dbl>   <dbl>     <dbl>       <dbl>      <dbl>
1   2022       7.49         18.3   0.409      7.24        11.8       6.19
2   2023       7.44         18.1   0.411      7.80        12.5       6.15
3   2024       7.31         18.0   0.406      7.71        12.7       6.11
# ℹ 1 more variable: sd_fg_att <dbl>

# A tibble: 3 × 71
            id sequence_number type_id type_text     text  away_score home_score
         <dbl> <chr>             <int> <chr>         <chr>      <int>      <int>
1 401391782510 510                  92 Jump Shot     Han …        112        100
2 401507237470 470                 110 Driving Layu… Tian…         75         79
3 401620228534 534                 109 Running Layu… Dear…         82         86
# ℹ 64 more variables: period_number <int>, period_display_value <chr>,
#   clock_display_value <chr>, scoring_play <lgl>, score_value <int>,
#   team_id <int>, athlete_id_1 <int>, athlete_id_2 <int>, athlete_id_3 <int>,
#   wallclock <chr>, shooting_play <lgl>, coordinate_x_raw <dbl>,
#   coordinate_y_raw <dbl>, season <int>, season_type <int>,
#   away_team_id <int>, away_team_name <chr>, away_team_mascot <chr>,
#   away_team_abbrev <chr>, away_team_name_alt <chr>, home_team_id <int>, …
# A tibble: 2 × 71
            id sequence_number type_id type_text     text  away_score home_score
         <dbl> <chr>             <int> <chr>         <chr>      <int>      <int>
1 401620442522 522                 109 Running Layu… Sabr…         86         79
2 401620221563 563                 131 Pullup Jump … Jewe…         83         68
# ℹ 64 more variables: period_number <int>, period_display_value <chr>,
#   clock_display_value <chr>, scoring_play <lgl>, score_value <int>,
#   team_id <int>, athlete_id_1 <int>, athlete_id_2 <int>, athlete_id_3 <int>,
#   wallclock <chr>, shooting_play <lgl>, coordinate_x_raw <dbl>,
#   coordinate_y_raw <dbl>, season <int>, season_type <int>,
#   away_team_id <int>, away_team_name <chr>, away_team_mascot <chr>,
#   away_team_abbrev <chr>, away_team_name_alt <chr>, home_team_id <int>, …

# A tibble: 3 × 71
            id sequence_number type_id type_text     text  away_score home_score
         <dbl> <chr>             <int> <chr>         <chr>      <int>      <int>
1 401391782510 510                  92 Jump Shot     Han …        112        100
2 401507237470 470                 110 Driving Layu… Tian…         75         79
3 401620228534 534                 109 Running Layu… Dear…         82         86
# ℹ 64 more variables: period_number <int>, period_display_value <chr>,
#   clock_display_value <chr>, scoring_play <lgl>, score_value <int>,
#   team_id <int>, athlete_id_1 <int>, athlete_id_2 <int>, athlete_id_3 <int>,
#   wallclock <chr>, shooting_play <lgl>, coordinate_x_raw <dbl>,
#   coordinate_y_raw <dbl>, season <int>, season_type <int>,
#   away_team_id <int>, away_team_name <chr>, away_team_mascot <chr>,
#   away_team_abbrev <chr>, away_team_name_alt <chr>, home_team_id <int>, …
# A tibble: 2 × 71
            id sequence_number type_id type_text     text  away_score home_score
         <dbl> <chr>             <int> <chr>         <chr>      <int>      <int>
1 401620442522 522                 109 Running Layu… Sabr…         86         79
2 401620221563 563                 131 Pullup Jump … Jewe…         83         68
# ℹ 64 more variables: period_number <int>, period_display_value <chr>,
#   clock_display_value <chr>, scoring_play <lgl>, score_value <int>,
#   team_id <int>, athlete_id_1 <int>, athlete_id_2 <int>, athlete_id_3 <int>,
#   wallclock <chr>, shooting_play <lgl>, coordinate_x_raw <dbl>,
#   coordinate_y_raw <dbl>, season <int>, season_type <int>,
#   away_team_id <int>, away_team_name <chr>, away_team_mascot <chr>,
#   away_team_abbrev <chr>, away_team_name_alt <chr>, home_team_id <int>, …
# A tibble: 2,471 × 71
             id sequence_number type_id type_text    text  away_score home_score
          <dbl> <chr>             <int> <chr>        <chr>      <int>      <int>
 1 401391860330 330                  92 Jump Shot    Nati…         52         67
 2 401391860473 473                 125 Layup Shot … Sylv…         78         84
 3 401391860490 490                  95 Layup Shot   Lind…         80         86
 4 401391861119 119                 131 Pullup Jump… Mari…         18         21
 5 401391861239 239                 132 Step Back J… Maya…         44         46
 6 401391861520 520                 141 Cutting Lay… Moni…         79         77
 7 401391862280 280                  92 Jump Shot    Elen…         44         59
 8 401391862293 293                 131 Pullup Jump… Elen…         50         63
 9 401391862451 451                 110 Driving Lay… Tiff…         65         82
10  40139186443 43                  110 Driving Lay… Chel…          8         16
# ℹ 2,461 more rows
# ℹ 64 more variables: period_number <int>, period_display_value <chr>,
#   clock_display_value <chr>, scoring_play <lgl>, score_value <int>,
#   team_id <int>, athlete_id_1 <int>, athlete_id_2 <int>, athlete_id_3 <int>,
#   wallclock <chr>, shooting_play <lgl>, coordinate_x_raw <dbl>,
#   coordinate_y_raw <dbl>, season <int>, season_type <int>,
#   away_team_id <int>, away_team_name <chr>, away_team_mascot <chr>, …
`geom_smooth()` using formula = 'y ~ x'

# A tibble: 37 × 1
     game_id
       <int>
 1 401391652
 2 401391657
 3 401391659
 4 401391665
 5 401391675
 6 401391678
 7 401391683
 8 401391687
 9 401391696
10 401391703
# ℹ 27 more rows

# A tibble: 41 × 1
     game_id
       <int>
 1 401507131
 2 401507137
 3 401507145
 4 401507153
 5 401507157
 6 401507162
 7 401507170
 8 401507175
 9 401507182
10 401507191
# ℹ 31 more rows

# A tibble: 32 × 1
     game_id
       <int>
 1 401620220
 2 401620228
 3 401620235
 4 401620244
 5 401620254
 6 401620269
 7 401620274
 8 401620282
 9 401620285
10 401620290
# ℹ 22 more rows

Team-wide data

Run Length Encoding
  lengths: int [1:40] 1 2 5 1 1 1 3 1 1 1 ...
  values : logi [1:40] FALSE TRUE FALSE TRUE FALSE TRUE ...
  phat_after_Sstreak phat_Sstreak_vs_others phat_Sstreak_vs_Fstreak
1                0.4            -0.06153846                    -0.1
  Sstreak_frequency longest_run_success n_runs
1        0.07462687                   5     40
`stat_bin()` using `bins = 30`. Pick better value `binwidth`.
Warning: Removed 27 rows containing non-finite outside the scale range
(`stat_bin()`).

`stat_bin()` using `bins = 30`. Pick better value `binwidth`.
Warning: Removed 27 rows containing non-finite outside the scale range
(`stat_bin()`).

`stat_bin()` using `bins = 30`. Pick better value `binwidth`.
Warning: Removed 28 rows containing non-finite outside the scale range
(`stat_bin()`).

`stat_bin()` using `bins = 30`. Pick better value `binwidth`.

`stat_bin()` using `bins = 30`. Pick better value `binwidth`.

`stat_bin()` using `bins = 30`. Pick better value `binwidth`.

# A tibble: 2 × 9
    game_id team_id season phat_after_Sstreak phat_Sstreak_vs_others
      <int> <fct>    <int>              <dbl>                  <dbl>
1 401391743 18        2022                  1                  0.644
2 401620343 11        2024                  1                  0.552
# ℹ 4 more variables: phat_Sstreak_vs_Fstreak <dbl>, Sstreak_frequency <dbl>,
#   longest_run_success <int>, n_runs <int>
# A tibble: 1 × 9
    game_id team_id season phat_after_Sstreak phat_Sstreak_vs_others
      <int> <fct>    <int>              <dbl>                  <dbl>
1 401620372 8         2024              0.889                  0.432
# ℹ 4 more variables: phat_Sstreak_vs_Fstreak <dbl>, Sstreak_frequency <dbl>,
#   longest_run_success <int>, n_runs <int>
# A tibble: 64 × 71
            id sequence_number type_id type_text     text  away_score home_score
         <dbl> <chr>             <int> <chr>         <chr>      <int>      <int>
 1 40162037210 10                   92 Jump Shot     Cour…          0          0
 2 40162037214 14                   92 Jump Shot     Brid…          2          0
 3 40162037222 22                  109 Running Layu… Shak…          2          0
 4 40162037226 26                   92 Jump Shot     Kayl…          2          2
 5 40162037238 38                   92 Jump Shot     Brid…          2          4
 6 40162037242 42                   92 Jump Shot     Cour…          2          4
 7 40162037246 46                   92 Jump Shot     Kayl…          2          7
 8 40162037256 56                  131 Pullup Jump … Kayl…          2          8
 9 40162037260 60                  110 Driving Layu… Kayl…          4          8
10 40162037263 63                  131 Pullup Jump … Naph…          6          8
# ℹ 54 more rows
# ℹ 64 more variables: period_number <int>, period_display_value <chr>,
#   clock_display_value <chr>, scoring_play <lgl>, score_value <int>,
#   team_id <int>, athlete_id_1 <int>, athlete_id_2 <int>, athlete_id_3 <int>,
#   wallclock <chr>, shooting_play <lgl>, coordinate_x_raw <dbl>,
#   coordinate_y_raw <dbl>, season <int>, season_type <int>,
#   away_team_id <int>, away_team_name <chr>, away_team_mascot <chr>, …
# A tibble: 60 × 71
            id sequence_number type_id type_text     text  away_score home_score
         <dbl> <chr>             <int> <chr>         <chr>      <int>      <int>
 1  4013917437 7                    92 Jump Shot     Cour…          0          0
 2 40139174311 11                  110 Driving Layu… Jonq…          2          0
 3 40139174317 17                   92 Jump Shot     Jonq…          2          2
 4 40139174321 21                  121 Fade Away Ju… Nati…          2          2
 5 40139174327 27                   92 Jump Shot     Nati…          5          6
 6 40139174331 31                   92 Jump Shot     Nati…          5          8
 7 40139174339 39                  133 Pullup Bank … DeWa…          7          8
 8 40139174342 42                   95 Layup Shot    Alys…          9          8
 9 40139174350 50                  141 Cutting Layu… Eliz…          9         11
10 40139174353 53                  110 Driving Layu… Nati…          9         11
# ℹ 50 more rows
# ℹ 64 more variables: period_number <int>, period_display_value <chr>,
#   clock_display_value <chr>, scoring_play <lgl>, score_value <int>,
#   team_id <int>, athlete_id_1 <int>, athlete_id_2 <int>, athlete_id_3 <int>,
#   wallclock <chr>, shooting_play <lgl>, coordinate_x_raw <dbl>,
#   coordinate_y_raw <dbl>, season <int>, season_type <int>,
#   away_team_id <int>, away_team_name <chr>, away_team_mascot <chr>, …
`geom_smooth()` using formula = 'y ~ x'

`geom_smooth()` using formula = 'y ~ x'

Investigating the champions for each year: how do their distributions look compared to the league average?

`stat_bin()` using `bins = 30`. Pick better value `binwidth`.

`stat_bin()` using `bins = 30`. Pick better value `binwidth`.

`stat_bin()` using `bins = 30`. Pick better value `binwidth`.

`stat_bin()` using `bins = 30`. Pick better value `binwidth`.

`stat_bin()` using `bins = 30`. Pick better value `binwidth`.

`stat_bin()` using `bins = 30`. Pick better value `binwidth`.

`stat_bin()` using `bins = 30`. Pick better value `binwidth`.
Warning: Removed 1 row containing non-finite outside the scale range
(`stat_bin()`).

`stat_bin()` using `bins = 30`. Pick better value `binwidth`.
Warning: Removed 1 row containing non-finite outside the scale range
(`stat_bin()`).

`stat_bin()` using `bins = 30`. Pick better value `binwidth`.
Warning: Removed 1 row containing non-finite outside the scale range
(`stat_bin()`).

`stat_bin()` using `bins = 30`. Pick better value `binwidth`.

`stat_bin()` using `bins = 30`. Pick better value `binwidth`.

`stat_bin()` using `bins = 30`. Pick better value `binwidth`.

`stat_bin()` using `bins = 30`. Pick better value `binwidth`.

`stat_bin()` using `bins = 30`. Pick better value `binwidth`.

`stat_bin()` using `bins = 30`. Pick better value `binwidth`.

`stat_bin()` using `bins = 30`. Pick better value `binwidth`.

`stat_bin()` using `bins = 30`. Pick better value `binwidth`.

`stat_bin()` using `bins = 30`. Pick better value `binwidth`.